﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using B303Langf.Parser.CodeGenerator;

namespace B303Langf.Parser.AST
{
   public class FunctionDeclaration : Declaration
   {
      public FunctionDeclaration( TypeDenoter type, Identifier identifier, Declarations declarations, Block block )
         : base( type, identifier )
      {
         Declarations = declarations;
         Block = block;
      }

      public Declarations Declarations
      {
         get;
         private set;
      }

      public Block Block
      {
         get;
         private set;
      }

      public override object Visit( IVisitor v, object obj )
      {
         return v.VisitFunctionDeclaration( this, obj );
      }
   }
}
